package com.ruanyuan.service.impl;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ruanyuan.dao.MessInfoDao;
import com.ruanyuan.pojo.MessInfo;
import com.ruanyuan.service.MessInfoService;
import com.ruanyuan.utils.Page;

/**
 * 留言信息业务实现类
 * 
 * @author zbp
 *
 */
@Service
public class MessInfoServiceImpl implements MessInfoService {

	// 注入留言信息接口
	@Autowired
	private MessInfoDao messInfoDao;

	/**
	 * 添加留言信息
	 */
	@Override
	public int addMessInfo(MessInfo messInfo) {
		// TODO Auto-generated method stub
		return messInfoDao.addMessInfo(messInfo);
	}

	/**
	 * 删除留言信息
	 */
	@Override
	public int deleteMessInfo(int id) {
		// TODO Auto-generated method stub
		return messInfoDao.deleteMessInfo(id);
	}

	/**
	 * 修改留言信息
	 */
	@Override
	public int updateMessInfo(MessInfo messInfo) {
		// TODO Auto-generated method stub
		return messInfoDao.updateMessInfo(messInfo);
	}

	/**
	 * 查询所有留言信息
	 */
	@Override
	public Page<MessInfo> getAllMessInfos(@Param("start") Integer page, @Param("rows") Integer rows) {
		// TODO Auto-generated method stub
		Integer page1 = (page - 1) * rows;
		// 执行分页查询所有留言信息
		List<MessInfo> allMessInfos = messInfoDao.getAllMessInfos(page1, rows);
		// 执行查询留言数量
		int messNum = messInfoDao.MessNum(page1, rows);
		Page<MessInfo> results = new Page<MessInfo>();
		// 当前页
		results.setPage(page);
		results.setResult(allMessInfos);
		// 总员工数
		results.setTotal(messNum);
		// 每页显示
		results.setSize(rows);
		return results;
	}

	/**
	 * 查询所有留言数量
	 */
	@Override
	public int MessNum(@Param("start") Integer page, @Param("rows") Integer rows) {
		return messInfoDao.MessNum(page, rows);
	}

	/**
	 * 根据id查询留言信息
	 */
	@Override
	public MessInfo getMessInfoById(int id) {
		// TODO Auto-generated method stub
		return messInfoDao.getMessInfoById(id);
	}

	/**
	 * 根据id查询最后发言的留言
	 * 
	 * @param id
	 * @return
	 */
	public MessInfo getLastMessInfo(int id) {
		return messInfoDao.getLastMessInfo(id);

	}

	/**
	 * 点击量+1
	 * 
	 * @param messInfo
	 * @return 影响的行数
	 */
	public int updateClickNum(int id) {
		return messInfoDao.updateClickNum(id);
	}

}
